package Integration;

import java.util.List;

import Domain.*;
import Exception.DadosException;

public interface Integration {
	
	public void insertAccount(Account account, String senha2) throws DadosException;

	public Account efetuarLogin(String username, String password) throws DadosException;
	
	public void salvarCatalogo(Catalog catalog)throws DadosException;
	
	public List<Catalog> listaCatalogos();
	
	public Catalog pesquisarCatalogoPorID(int id);
	
	public void salvarProduto(Product produto)throws DadosException;
	
	public List<Product> pesquisarProdutosPorCatalogoID(int id_catalogo);
	
	public ShoppingCart obterCarrinhoPorUsuario(Account ac);
	
	public void criarCarrinhoDeCompras(ShoppingCart shopping) throws DadosException;
	
	public void addItemNoCarrinho(ShoppingCartItem item) throws DadosException;
	
	public List<ShoppingCartItem> listarItensCarrinho(ShoppingCart carrinho);

	public void excluirItemDoCarrinho(ShoppingCartItem itemExcluir)throws DadosException;
	
	public void salvarCartao(CreditCardDetail cartao) throws DadosException;

	public Order gerarOrdem(ShoppingCart gerarOrdem) throws DadosException;
	
	public List<OrderDetail> listarOrderDetail(Order Order);
	
	public void alterarOrder(Order order) throws DadosException;
	
	public void alterarQuantidade(ShoppingCartItem item) throws DadosException;
	
	public void calcularSubTotal(ShoppingCart carrinho);

	public List<OrderDetail> listarItensOrder(Order detalhe);
	
	public List<Order> listarOrderDetail(Account account);
}
